const common = require('./webpack.common')
const { CleanWebpackPlugin } = require('clean-webpack-plugin')
const CopyWebpackPlugin = require('copy-webpack-plugin')
const merge = require('webpack-merge')

/**
 * 1.将打包公共配置合并过来，并在此基础上增加开发阶段需要的配置
 * 2.打包过程中需要先删除dist目录，避免dist目录多次打包后生成一些已删除或多余的资源文件，让每次打包后的资源都是最新生成
 * 3.将一些静态资源文件打包到dist目录，避免打包后的文件访问不到静态资源
 */
module.exports = merge( common, {
    mode: 'production',
    plugins: [
        //production版本打包之前先清除dist目录，避免dist目录多次打包后产生一些多余的资源文件，安装clean-webpack-plugin 插件
        new CleanWebpackPlugin(),
        //production版本打包是需要将一些静态资源打包到dist目录，这里需要copy-webpack-plugin插件将静态资源复制到dist目录
        new CopyWebpackPlugin({
            patterns: [
                {from: 'public', to: ''}, //from：资源目录， to: 目标目录，这里已经在webpack.common.js配置output设置了dist目录
            ]
        })
    ]
})